python 图片resize()方法汇总

您所在的位置:网站首页 480 500 512区别 python 图片resize()方法汇总

python 图片resize()方法汇总

2024-05-27 15:21| 来源: 网络整理| 查看: 265

本文汇总了几种常见的图片尺寸缩放方法(会持续更新!)

(1)利用OpenCV包中resize方法

res = cv2.resize(img,(2width,2height), fx, fy, interpolation=cv2.INTER_CUBIC) 第一个参数img要缩放的图像名,可以通过两种方法确定缩放后图片大小,第一种利用参数(2width,2height),用来直接指定缩放后的宽度和长度;第二种,利用参数fx和fy,分别指定宽度和高度的缩放比例因子。 缩放算法有最近临域插值、双线性插值、像素关系重采样和立方插值,默认方法采用双线性插值。 imgInfo = img.shape 图片对应三维矩阵,第一维对应图片的高度,第二维矩阵对应图片长度,第三维矩阵对应图片的通道数,如果图片的shape= (220, 319, 3),表示图片高度上有220个像素,长度上有319个像素,通道数为3. height = imgInfo[0] width = imgInfo[1] channel = imgInfo[2] 举例:

#第一种 size = (int(width*0.3), int(height*0.5)) shrink = cv2.resize(img, size, interpolation=cv2.INTER_AREA) # 第二种 fx = 1.6 fy = 1.2 enlarge = cv2.resize(img, (0, 0), fx=fx, fy=fy, interpolation=cv2.INTER_CUBIC) (2)利用pillow包中Image类中的resize方法

resize(size,resample,box) resize方法可以将原始的图像转换大小,size是转换之后的大小,resample是重新采样使用的方法,有Image.BICUBIC,PIL.Image.LANCZOS,PIL.Image.BILINEAR,PIL.Image.NEAREST等几种采样方法,默认是PIL.Image.NEAREST,box是指定的要resize的图像区域。 示例:

im_resize = im.resize((200,200)) im_resize.show() im_resize_box = im.resize((100,100),box = (0,0,50,50)) im_resize_box.show() (3)利用skimage包中transform类中的resize方法

示例:

from skimage import io, transform re_img = transform.resize(crop_img, (224, 224))

第一个参数是要缩放的原图片,第二个参数是想要缩放的大小。 需要注意的是numpy包如果升级到1.16,则会出现这个错误: ImportError: cannot import name ‘_validate_lengths’ from ‘numpy.lib.arraypad’ (C:\ProgramData\Anaconda3\lib\site-packages\numpy\lib\arraypad.py)

(4)利用matplotlib缩放图片

这个方法不太常用,直接看代码:

plt.figure(figsize=(2.24,2.24)) #设置画板大小 image = plt.imread("16d2d9a8cd6fe71c48974b24ee3ceb5.jpg") #先读入图片 plt.imshow(image) plt.savefig('test.png', format='png', dpi=200) #保存缩放后图片

此外,像pytorch、tensorflow这些深度学习框架的前处理API也都有图像缩放方法,用起来也很方便,当然,你要愿意动手,也可以自己用numpy实现一些图像缩放算法!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3